package aFirma;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class FichaFuncionarioCRUD {
	
	
	public void criar(Connection con,FichaFuncionario fichaFuncionario) throws SQLException{
		String sql ="insert into fichaFuncionario values (?,?,?,?,?,?,?,?,?)";
		try (PreparedStatement stm = con.prepareStatement(sql);){
		stm.setInt(1, fichaFuncionario.getId());
		stm.setString(2,fichaFuncionario.getcCusto());
		stm.setInt(3,fichaFuncionario.getMatr());
		stm.setString(4, fichaFuncionario.getNome());
		stm.setInt(5, fichaFuncionario.getNivel());
		stm.setDouble(6, fichaFuncionario.getSalario());
		stm.setDouble(7, fichaFuncionario.getGratificacao());
		stm.setDouble(8, fichaFuncionario.getRemuneracao());
		stm.setString(9, fichaFuncionario.getFuncao());}
		
		
	}
	
	public List<FichaFuncionario> ler(Connection con) throws SQLException{
		List<FichaFuncionario> lista = new ArrayList<>();
		String sql ="select id,cCusto,matr,nome,nivel,salario,gratificacao,remuneracao,funcao from FichaFuncionario";
		try (PreparedStatement stm = con.prepareStatement(sql);
				ResultSet rs = stm.executeQuery()){
				//ResultSet rs = stm.executeQuery()){
				while(rs.next()){
					lista.add(new FichaFuncionario(rs.getInt(1), rs.getString(2), rs.getInt(3), rs.getString(4), rs.getInt(5), rs.getDouble(6), rs.getDouble(7), rs.getDouble(8), rs.getString(9)));
				}
		}
		
		return lista;
	}
	
	public static void main(String[] args) throws SQLException  {
		
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
				
		try (Connection con = DriverManager.getConnection(url, "estudoDb", "ricardo")){
			FichaFuncionarioCRUD crud = new FichaFuncionarioCRUD();
			FichaFuncionario fichaFuncionario1 = new FichaFuncionario(444, "qqq", 55, "aaaa",45, 6660, 60, 770, "rrrrrr");
			crud.criar(con, fichaFuncionario1);
			List<FichaFuncionario> fichaFuncionario = crud.ler(con);
		}
		
		
	}

}
